package com.tjsinfo.tjsoa.mail.bo;

import java.util.Date;
import java.util.List;

import com.tjsinfo.tjsoa.mail.vo.TjsFoldEmailAnnex;
import com.tjsinfo.tjsoa.mail.vo.TjsFoldMail;

public interface ITjsFoldMailBo {
	/**
	 * 添加文件夹邮件
	 * @param title
	 * @param value
	 * @param date
	 * @param type
	 * @param start
	 * @param read
	 * @param tag
	 * @param list
	 * @return
	 */
	public boolean  addTjsFlodMail(String title,String value,Date date,Integer type,Integer start,Integer read,Integer tag,String foldid,List<TjsFoldEmailAnnex> list);
	/**
	 * 修改文件夹邮件
	 * @param id
	 * @param title
	 * @param value
	 * @param date
	 * @param type
	 * @param start
	 * @param read
	 * @param tag
	 * @param list
	 * @return
	 */
	public boolean updateTjsFlodMail(String id, String title,String value,Date date,Integer type,Integer start,Integer read,Integer tag,List<TjsFoldEmailAnnex> list);
	
	/**
	 * 删除文件夹邮件
	 * @param mailid
	 * @return
	 */
	public boolean deleteTjsFoldMail(String mailid);
	/**
	 * 根据文件夹ID查询邮件
	 * @param foldid
	 * @return
	 */
	public List<TjsFoldMail> selectTjsFoldMailByFoldId(String foldid);
	/**
	 * 根据邮件ID查询
	 * @param mailid
	 * @return
	 */
	public TjsFoldMail selectOneTjsFoldMail(String mailid);
	/**
	 * 修改标签
	 * @param mailid
	 * @param tag
	 * @return
	 */
	public boolean  updateTag(String mailid,Integer tag);
	/**
	 * 修改读写状态
	 * @param mailid
	 * @param read
	 * @return
	 */
	public boolean  updateRead(String mailid,Integer read);
	
	/**
	 * 修改读写状态
	 * @param mailid
	 * @param read
	 * @return
	 */
	public boolean  updateReadList(String[] mailid,Integer read);
	/**
	 * 修改状态
	 * @param mailid
	 * @param start
	 * @return
	 */
	public boolean  updateStart(String mailid,Integer start);
	/**
	 * 根据一个数组批量删除
	 * @param 数组
	 * @return
	 */
	public boolean deleteTjsEmailFoldList(String[] array,String username);
	/**
	 * 修改类型list
	 */
	public boolean updateTypeList(String[] mailid, Integer start);
	
	/**
	 * 批量修改文件夹类型邮件的标签
	 * @param mailid
	 * @param tag
	 * @return
	 */
	public boolean updateTagList(String[] mailid,Integer tag);
	/**
	 * 查询一个邮件
	 * @param id
	 * @return
	 */
	public TjsFoldMail selectOneByIdSUB(String id);
	/**
	 * 根据标题查询
	 * @param object[标题，文件夹ID，用户id]
	 * @return
	 */
	public List<TjsFoldMail> selectByTitle(String title,String foldid,Integer userid);
}
